---
title: "A Brief Introduction to Free/Libre Operating Systems"
date:  2019-01-19
category:  TechTips
---

The following is an introduction to choosing a free operating system (OS), and
a look at some of the ideas driving the creation and use of free software more
generally.  I will discuss some of the basic principles of free software, and
then introduce a few of the most popular
[Free-as-in-Freedom](https://en.wikipedia.org/wiki/Gratis_versus_libre) OS'es,
to help provide some sense of the options available for moving to freer
computing experience.

### Free Software - Some preliminary notes  

There is an active community of technologists, lawyers, artists, and hobbyists
that consider freedom to be of central importance in discussions about
computers.  Computer technology has come to have such enormous influence on our
lives, the argument goes, that these machines and their use ought to be
considered on the plane of ethics.  How we use computers will say a lot about
our society.  And at the center of this ethical discussion: user freedom.

User-freedom (to borrow a phrase from [Christopher Lemmer
Webber](http://dustycloud.org/)), in the context of software, refers roughly to
the freedom to be able to inspect, modify, distribute, and use software in
whatever ways you see fit.  You should be able to make improvements and
alterations the software-enhanced devices that you have purchased (see
[TiVoization](https://en.wikipedia.org/wiki/Tivoization); you should be
permitted to repair software-enhanced objects (such as automobiles) that you
have purchased when they fail, and manufacturers must not make the information
to do so inaccessible (see [right to
repair](https://en.wikipedia.org/wiki/Motor_Vehicle_Owners%27_Right_to_Repair_Act));
you should not be punished for sharing software, original or unmodified (see [4
software freedoms](https://fsfe.org/freesoftware/basics/4freedoms.en.html)).

The effort to achieve these freedoms has been driven in large part by work on
computer operating systems.  Because the operating system is the foundation or
core of any work done on a computer, it is a natural starting point and home
base for a community and a method of work to enhance freedom through software.
Everything a user might run (a browser, word processor, video player, etc), will
sit on top of the operating system; working for freedom in these higher-level
applications is important, but the value of such an accomplishment will be
nullified if the base on which they sit is corrupted.  So the early work began
with the core.  The GNU Project and the Free Software Foundation have provided
much of the leadership and example for how such an approach might work.

The [GNU project](https://gnu.org)<sup>1</sup> and the [Free Software
Foundation](https://fsf.org) have spearheaded the free software movement since
about 1983/84, during which period the 2 organizations, working hand in hand,
spent much of their early energy building a free/libre replacement to the
[Unix](https://en.wikipedia.org/wiki/Unix) operating system, which was a popular
and immensely influential proprietary OS from the 1970's onward that was used
widely in business and research. GNU and FSF continue today to do work central
and critical to the health of the free operating system ecosystem.

[1: for those unfamiliar with GNU, the acronym stands for GNU's Not Unix.
GNU is a recursive acronym, which is the sort of joke that programmers like.
Other examples include PHP (PHP: Hypertext Preprocessor), and WINE (Wine is Not
an Emulator).]

### Free Operating Systems - Some post-preliminary nomenclature 

The moral of the GNU/FSF trajectory story is that if you are composing a free
software computing environment, whatever your reasons, the first piece to
consider is which operating system to use.  The following are some questions to
navigate when making that decision.

If you were to ask around a bit about which operating system you ought to look
at if you are interested in software freedom, the most common response you
would get, I suspect, would be to "use Linux".  Which is a fine first pass.
Using Linux is indeed a good starting point to set out on a free software
journey.  But this answer misses a number of important points.  I will address
these three caveats, before getting into the OS reviews.  In overview, these issues
with the answer "use Linux" are that:

1. "Linux" might be more properly called GNU/Linux
2. Free software is not open-source software
3. There are alternatives to GNU/Linux
4. Most GNU/Linux distros include non-free software

Let's look at these points in more detail, before examining the candidate OS'es.

#### 1 - GNU/Linux 

The first issue with the answer that you should "use Linux" is that there is
some disagreement about what to call "Linux distributions", often shortened to
"distros".  These terms refer to a bundle of software applications, typically
including the core operating system (particularly the [Linux
kernel](https://en.wikipedia.org/wiki/Linux_kernel), which handles hardware
initialization, memory management, and other low level functions), along with
various system utilities and
[user-space](https://en.wikipedia.org/wiki/User_space) applications (such as web
browsers and word processors).  While "Linux distro" or "Linux distribution" is
the most commonly used term to refer to these software bundles (see, e.g.,
[distrowatch.com](https://distrowatch.com)), there are vocal advocates of free
software that insist on calling them GNU/Linux distributions, to acknowledge the
role that the GNU project has played in the development of some key software
included with these distros, such as the GNU C Compiler (gcc), bash, tar, GRUB,

gzip, and coreutils (as discussed a bit in the first section).

Arguably more important than the software packages that the GNU project has
created are the ideological contributions of the FSF and GNU to the free
software movement.  Lead by Richard Stallman, the FSF has long [championed the
importance of computing platforms that respect and enhance the rights and
freedoms of users](https://fsf.org/about).  They have articulated a view of
software use and development that foregrounds the issue of freedom.  It is an
evolving set of ideas about [why freedom is important and how we can protect it]
(https://www.fsf.org/about/what-is-free-software).


#### 2 - Free and/or Open-Source 

Related to the naming nuance above, there is a common conflation of free
software with open-source software (OSS).  The contemporary visibility and
(seemingly) intuitive positioning of OSS causes some understandable confusion in
conversation about software freedom.  But GNU and The FSF argue that *free
software* and *open source software* are [not the same
thing](https://www.gnu.org/philosophy/open-source-misses-the-point.en.html),
they do not stand-in for one another as synonyms pointing at the same idea.  The
primary message of the Free Software movement is that we should be cognizant of
how software development, distribution, and use impacts the freedom of
individuals, and thus how it affects the structure of societies more broadly.
It is a "Big Idea", an explicitly socio-political one. Open-source software, on
the other hand, has claimed for itself the territory of a socially and
economically beneficial [software development
methodology](https://opensource.com/business/16/11/open-source-not-free-software).
It is not concerned, first and foremost with freedom, but instead with
transparency, openness, and the multiplicative, beneficial effects of developing
software in the open.  The topic is complex and nuanced, and bringing it up in
polite company is surely akin to casting Repulsive Miasma, -1 Social Graces.
But if you're interested in learning more about the topic while you run, drive,
or do dishes, I recommend listening to both [Free as in
Freedom](https://faif.com) and [Libre Lounge](https://librelounge.org), two
excellent podcasts focused on free software.  FAIF focuses on issues surrounding
software policy, law, licensing, and other high-level socio-technical issues,
while Libre Lounge examines user freedom, culture, usability, and other related
topics.

To return to the first issue: because of GNU's role in laying much of the
groundwork for modern "Linux distros", and for their important role in promoting
software freedom, I think it is more appropriate to refer to the distros we are
going to look at as GNU/Linux distros, but there are plenty of differing
opinions around the web (see
[here](//www.howtogeek.com/139287/the-great-debate-is-it-linux-or-gnulinux/) or
[here](en.wikipedia.org/wiki/GNU/Linux_naming_controversy) for more).

#### 3 - Alternatives to GNU/Linux 

There are some free-software alternatives to GNU/Linux, perhaps most notably the
[Berkley Software Distributions](https://bsd.org).  These distros are a viable
alternative to GNU/Linux and share much in common with the GNU/Linux distros, so
users familiar with one ecosystem should be able, without too much pain, to
migrate to the other.  While GNU/Linux is used more widely than BSD, BSD has
a strong and active community around it.

There are others, as well.  An interesting newcomer to the space is
[RedoxOS](https://www.redox-os.org/), which is a [free operating
system](https://doc.redox-os.org/book/introduction/why_free_software.html) and
bundle of utilities (just as with a GNU/Linux distribution) written in the
[Rust](https://www.rust-lang.org/) programming language (rather than in C, as
much of GNU/Linux, including the Linux kernel, is).  I do not review Rust here,
because I have not yet had the opportunity to try it, but I would encourage you
to give it a chance if you are in exploration mode.

#### 4 - Non-free GNU/Linux distributions 

Not all GNU/Linux distros package exclusively free software.  In fact, most
distributions ship with non-free software.  Some include proprietary software
with more restrictive licenses than those endorsed by the FSF (which maintains
the GNU Pubic License, or GPL, but also endorses a number of other software
licenses; see
[here](https://www.gnu.org/licenses/license-list.html#SoftwareLicenses) for more
info).  So while the core components of the operating system may be free, the
auxiliary programs that come along with the OS may not be.  There are two basic
components to this: which applications are included by default when you install
a new GNU/Linux distro, and which packages are made available for later download
via the official package repositories (or "repos") of the distro.  The package
repositories make up the
[user-land](https://en.wikipedia.org/wiki/Userland_(computing)) software
ecosystem of the distro.

So while most distributions include a mix of free and non-free software
packages, there are a number of distros whose declared purpose is to package
exclusively free software.  By choosing to use one of these operating systems,
you make it as easy as possible to use free software.  These distributions are
most valuable in the specific case that you want to run only and entirely free
software.

And this brings us to the core of this article: a look at some of the GNU/Linux
distros best suited to use as the foundation of a fully Free Software computing
environment.

### Free/Libre Operating Systems 

In the remainder of this post we examine the following operating systems:

1. [Trisquel](https://trisquel.info)
2. [Parabola](https://parabola.nu)
3. [PureOS](https://pureos.net)
4. [Debian](https://debian.org)
5. [Freenix](https://www.freenix.net/)
6. [BSD](https://bsd.org)

### [Trisquel](https://trisquel.info/)

<img src="assets/trisquel_screen.jpg" alt="Trisquel OS screenshot" width="60%"/>

[Trisquel](https://trisquel.info/) is an [Ubuntu](https://ubuntu.com)-based
distribution that packages exclusively free software (Ubuntu is, in turn, based
on Debian, which we discuss below).  It is one of the distros officially
endorsed by both the FSF and [Libreboot](https://libreboot.org), the latter of
which is doing great work in liberating hardware, by distributing fully free
boot firmware, which is the low-level foundation that initializes your
computer's hardware and atop which your OS sits.  (an upcoming post will discuss
Libreboot in more detail.)

Trisquel is a full-featured distro that comes with everything you need to get
started working right away.  It ships with a web browser, a suite of office
tools (LibreOffice), and many other utilities, so that you have a fully
functional system right out of the box.

If you are comfortable with a Debian-based distro like Ubuntu or
[Mint](https://linuxmint.com), you could switch to Trisquel without much
trouble.  It maintains a large collection of packages, which makes it easy to
find the software you need.  The extensive support resources around the web for
distros such as Debian, Ubuntu, and Mint, are largely relevant to Trisquel
without much or any modification, and this can be enormously helpful when you
run into sticky problems with the OS or an installed package.  Trisquel is easy
to get started with, and is a very solid choice for a free OS.  This is a great
distribution for folks new to free software and/or GNU/Linux, as well as those
with more experience under their belt.

### [Parabola](https://parabola.nu)

<img src="assets/parabola_screen.jpg" alt="Parabola screenshot" width="60%"/>

[Parabola](https://parabola.nu), like Trisquel, is endorsed by both the FSF and
Libreboot, but unlike Trisquel, is based on [Arch Linux](https://archlinux.org).
There are a number of key differences between the Debian based distros and
Parabola/Arch.  First, Parbola and Arch are often called minimalist distros,
meaning that the base install gives you only the very basics that you need for
a running system (after install, you will boot into a humble command line).
From there, it is up to you to build the system you want, including graphical
environments, web browsers, and everything/anything else you might use.  This is
in contrast to a distro like Trisquel, which ships with a full suite of
software, including a graphical desktop environment and common GUI tools like
Firefox.  Parabola gives you the freedom to compose an environment built of
exactly and only the tools that you want.  Parabola/Arch are often considered
distros for more advanced users and/or users who wish to do a great deal of
customization to their GNU/Linux environment.  There is an initial learning curve
with Parabola/Arch, primarily in using a text-based, command-line driven
installation process, but once this first hurdle is cleared, using Parabola need
not be much more difficult than using Trisquel.

A second difference between Parabola/Arch and Trisquel is that the former use
use a rolling release model, which means you can install the system once and (in
theory), continue to update that install forever.  This means no "fresh
re-installs" of the OS are necessary to stay up to date.  The alternative
release model, the one used by Trisquel, Ubuntu, and Debian, is to release new
versions periodically (e.g., Trisquel 7 -> Trisquel 8), to which a user may
upgrade.

A third difference is that Parabola/Arch are often called "bleeding edge"
distros, because the software in the distributions' repositories tends to be
"hot off the press".  In other words, what you download via the package manager
(called pacman in these distros) tends to be the newest or very nearly the
newest version of the software available.  The positive side of this is that you
can get new software shortly after it is released, and you will always have the
latest (and hopefully greatest) versions of the tools you use.  The negative
side of this is that the quick release cycle sometimes means that the package
maintainers may miss a bug or integration issue with a new version of a package,
and an update might cause issues with your system.  While this is a real risk,
and can cause headaches if it happens, it is not a frequent or regular
occurrence.  The risks of system-breakage with Arch-based systems are much lower
than some discussions around the web might indicate, and should not deter the
curious user from trying these distros.

The final difference I'll mention between Parabola and Trisquel is the great
variety of community contributed packages in the Arch/Parabola ecosystem.  Arch
and Parabola users have access to an incredibly extensive set of "unofficial",
user-written packages via the [Arch User Repository
(AUR)](https://aur.archlinux.org).  This greatly expands the variety of software
that is available for easy installation and maintenance on your system.  In
addition to the packages that the Arch community maintains, the support
resources around the web are second to none.  If you have an issue with
Parabola/Arch, you will likely be able to find help in the [Arch
Wiki](https://wiki.archlinux.org) or on the [Arch
Forums](https://bbs.archlinux.org).  Furthermore, if you have issues with *any*
GNU/Linux distro, you'll likely find some help in the Arch Forums.  If you are
new to GNU/Linux, this might seem uninteresting or unimportant, but once you get
your feet wet a bit, you will come to realize that is impossible to overstate
the value of these resources.

Parabola is more difficult to get started with than Trisquel.  It requires a bit
of manual setup to get going, and while the [official setup
guide](https://wiki.archlinux.org/index.php/Installation_guide) is excellent,
the command line work and manual configuration required may be intimidating to
newcomers to the GNU/Linux ecosystem.  Once installed however, you will have
a system tailored to your exact specifications.  This distro is a good choice
for users who love tinkering and customizing, those who are comfortable with
GNU/Linux already, and those who are looking to explore a new operating system
as a learning experience.

### [PureOS](https://pureos.net)

<img src="assets/pureos_screen.jpg" alt="PureOS screenshot" width="60%"/>

The FSF has recently added [PureOS](https://pureos.net) to its list of
officially endorsed distros (see
[here](https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-)
for the story).

PureOS is another Debian based distro, developed by the folks at
[Purism](https://puri.sm), who also ship liberty-focused hardware (see the
upcoming blog post on free hardware for more on Purism).  According to the CEO of
Purism, "PureOS is a GNU operating system that embodies privacy, security, and
convenience strictly with free software throughout."
[source](https://www.fsf.org/news/fsf-adds-pureos-to-list-of-endorsed-gnu-linux-distributions-1)
PureOS, is a viable option to Trisquel as a user-friendly, fully free OS.  If
you try it out, let me know what you think.

### [Freenix](https://freenix.net)

<img src="assets/slackware_screen.png" alt="Slackware screenshot http://infotechinspiration.blogspot.com/2010/06/open-source-operating-system-slackware.html" width="60%"/>

[Freenix](https://freenix.net), formerly FreeSlack, is a project to help users
maintain a fully free system based on [Slackware](https://www.slackware.com),
which is the oldest GNU/Linux distro still in use.  Slackware has been around
since 1993, and is still going strong.  It is praised for its exceptional
stability, its system management philosophy (simplicity above all else), and the
control it gives the user over their system.  Like Parabola/Arch, it is another
example of a distro aimed at so-called ["power
users"](https://en.wikipedia.org/wiki/Power_user), a term sometimes used in
GNU/Linux land to refer to an advanced computer user.

Note that Freenix, as of the time of this writing, only ships a 64-bit distro,
but some of the machines on which Libreboot runs have 32-bit processors.  The
maintainers of Freenix recommend [ConnochaetOS](https://connochaetos.org/wiki/)
for 32-bit machines.

Note also that while you cannot run Freenix if you have a 32-bit processor, you
can manually modify a stock installation of Slackware to use only free software.
This would involve swapping out the standard Linux kernel for the
[GNU/Linux-libre
kernel](https://www.fsfla.org/ikiwiki/selibre/linux-libre/index.en.html),
swapping non-free packages for free equivalents, and, if using software
repositories, ensuring that you are using repos that only package free software.
If you are not using a package management tool, you will have to manually verify
the licenses of each package that you install.  This last option would require
a fair bit of work, and removing that burden from the user is one of the main
reasons that free software distros are created and maintained.

Slackware has a long history and a loyal user base, but is no longer as popular
as Debian and Arch based systems.  It's relative novelty/obscurity will make
using Slackware an interesting challenge and adventure for some, but may not
provide the user with a community as strong as those around the Debian- and
Arch-based distributions.

### [Debian](https://debian.org)

<img src="assets/debian_screen.png" alt="Debian screenshot" width="60%"/>

[Debian](https://debian.org) is a very important GNU/Linux distribution.  It has
been around since the distant era of 1993, it is extremely stable (meaning your
system is unlikely to break from package updates), it has an enormous and active
package ecosystem, and it is the foundation of a number of other distros, most
notably Ubuntu (and its derivatives) and Mint.  Debian ships a free and
a non-free variant, where the latter includes some packages, such as WiFi
drivers and multimedia codecs, that are proprietary.  The free variant excludes
these proprietary packages, and aims to ship only libre software.  Despite its
popularity and solidity, Debian is not currently endorsed by the FSF, largely
because of the non-free, non-Debian software that it maintains in its
repositories.  While this software can be avoided, and a user *can* run a fully
free Debian distro, Debian also makes it easy for users to install non-free
software, and it seems this is the reason that the FSF does not include them in
their list of officially endorsed distros.  See
[here](https://www.gnu.org/distros/commn-distros.html) for more.

As mentioned above, Debian is the base of Trisquel and PureOS, so much of what
we said about those distros also applies to Debian.  Debian is a mainstream and
very established distribution of GNU/Linux, and provides users with a rock-solid
experience.

### [Berkley Software Distributions](https://www.bsd.org)

<img src="assets/bsd_screen.jpg" alt="BSD screenshot" width="60%"/>

The [Berkley Software Distribution](https://www.bsd.org) is, like GNU/Linux,
a descendant of the Unix operating system, that was developed at the University
of California, Berkeley, beginning in 1977.  The BSD ecosystem has much in
common with the GNU/Linux ecosystem, but also differs in some important ways.
Most notable, for our purposes here, is that the BSD community maintains the
kernel, drivers, documentation, and user-land utilities, and a BSD distro (of
which there are several, including [DragonFly
BSD](http://www.dragonflybsd.org/), [FreeBSD](http://www.freebsd.org/), and
[OpenBSD](http://www.openbsd.org/), among others), ships "with everything".
GNU/Linux distros, on the other hand, tend to be more modular or composable.
The [Linux Foundation](https://linuxfoundation.org) maintains the Linux
[kernel](https://en.wikipedia.org/wiki/Linux_kernel), and GNU maintains its
collection of software packages, while much of the rest of the software included
in a GNU/Linux distribution comes from a variety of third-party sources.  The
centralized maintenance of BSD is often touted as a strength of the BSD distros:
the more unified structure of maintenance and distribution reduces the
likelihood of compatibility issues and vulnerabilities (it is argued).

Many of the tools available to GNU/Linux users are available to BSD users, and
much of the skill required to operate one class of system is transferable to
operating the other. The BSDs are an excellent option for for individuals
wishing to use free software.

### Conclusion

The free-software operating systems profiled above are just a handful selected
from a vast and varied landscape.  There are hundreds, possibly thousands, of
distros of GNU/Linux (and a handful of BSD distros), and while not all of them
adhere to principles of free software, quite a few do  (for a more extensive
list of distros endorsed by the FSF, see
[here](https://www.gnu.org/distros/free-distros.html)).  This variety gives the
user choices and flexibility, which is one of the great benefits of using free
software.

Once you have chosen, installed, and configured a free/libre operating system,
you are well on your way to a fully free computing environment.  Good luck!
